package basica;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Usuario extends Pessoa {

	//atributos
	@Column(name="nome_conjuge")
	private String nomeConjuge;
	
	@Column(name="email_conjuge")
	private String emailConjuge;
	
	@Column(length=20)
	private String login;
	
	@Column(length=20)
	private String senha;
	
	@Column(name="nome_casal")
	private String nomeCasal;
	
	@Temporal(TemporalType.DATE)
	@Column(name="data_casamento")
	private Calendar dataCasamento = Calendar.getInstance();
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="data_cadastro")
	private Calendar dataCadastro = Calendar.getInstance();
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="data_atualizacao")
	private Calendar dataAtualizacao = Calendar.getInstance();
	
	@Enumerated(EnumType.STRING)
	@Column(name="status")
	private StatusUsuario statusUsuario;
	
	//construtores
	public Usuario(){
		super();
	}
	
	public Usuario(String nome, String email, Integer ddd, Integer telefone, String nomeConjuge, String emailConjuge, 
			String login, String senha,	Calendar dataCasamento, Calendar dataCadastro, Calendar dataAtualizacao){
		super(nome, email, ddd, telefone);
		this.nomeConjuge = nomeConjuge;
		this.emailConjuge = emailConjuge;
		this.login = login;
		this.senha = senha;
		this.dataCasamento = dataCasamento;
		this.dataCadastro = dataCadastro;
		this.dataAtualizacao = dataAtualizacao;
	}
	
	//getters e setters
	public String getNomeConjuge() {
		return nomeConjuge;
	}
	public void setNomeConjuge(String nomeConjuge) {
		this.nomeConjuge = nomeConjuge;
	}
	
	public String getEmailConjuge() {
		return emailConjuge;
	}
	public void setEmailConjuge(String emailConjuge) {
		this.emailConjuge = emailConjuge;
	}
	
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getNomeCasal() {
		return nomeCasal;
	}
	public void setNomeCasal(String nomeCasal) {
		this.nomeCasal = nomeCasal;
	}
	
	public Calendar getDataCasamento() {
		return dataCasamento;
	}
	public void setDataCasamento(Calendar dataCasamento) {
		this.dataCasamento = dataCasamento;
	}
	
	public Calendar getDataCadastro() {
		return dataCadastro;
	}
	public void setDataCadastro(Calendar dataCadastro) {
		this.dataCadastro = dataCadastro;
	}
	
	public Calendar getDataAtualizacao() {
		return dataAtualizacao;
	}
	public void setDataAtualizacao(Calendar dataAtualizacao) {
		this.dataAtualizacao = dataAtualizacao;
	}
	
	public StatusUsuario getStatusUsuario() {
		return statusUsuario;
	}
	public void setStatusUsuario(StatusUsuario statusUsuario) {
		this.statusUsuario = statusUsuario;
	}
}
